package org.jeecg.modules.company.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 企业信息
 * @Author: jeecg-boot
 * @Date:   2024-04-11
 * @Version: V1.0
 */
@Data
@TableName("wlhy_company")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="wlhy_company对象", description="企业信息")
public class WlhyCompany implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
	/**用户*/
	@Excel(name = "用户", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "id")
	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
    @ApiModelProperty(value = "用户")
    private String userId;
    /**用户手机号*/
    @ApiModelProperty(value = "用户手机号")
    private String userPhone;
	/**营业执照*/
	@Excel(name = "营业执照", width = 15)
    @ApiModelProperty(value = "营业执照")
    @NotBlank(message = "请上传营业执照")
    private String businessLicense;
	/**认证状态*/
	@Excel(name = "认证状态", width = 15, dicCode = "company_auth_status")
	@Dict(dicCode = "company_auth_status")
    @ApiModelProperty(value = "认证状态")
    private String authStatus;
	/**企业名称*/
	@Excel(name = "企业名称", width = 15)
    @ApiModelProperty(value = "企业名称")
    private String companyName;
	/**营业执照号码*/
	@Excel(name = "营业执照号码", width = 15)
    @ApiModelProperty(value = "营业执照号码")
    private String businessLicenseNo;
	/**法人姓名*/
	@Excel(name = "法人姓名", width = 15)
    @ApiModelProperty(value = "法人姓名")
    private String legalName;
	/**状态*/
	@Excel(name = "状态", width = 15, dicCode = "row_status")
	@Dict(dicCode = "row_status")
    @ApiModelProperty(value = "状态")
    private String status;
	/**经营范围*/
	@Excel(name = "经营范围", width = 15)
    @ApiModelProperty(value = "经营范围")
    private String busiRange;
	/**组织形式*/
	@Excel(name = "组织形式", width = 15)
    @ApiModelProperty(value = "组织形式")
    private String orgMode;
	/**注册资本*/
	@Excel(name = "注册资本", width = 15)
    @ApiModelProperty(value = "注册资本")
    private String regBalance;
	/**有效期*/
	@Excel(name = "有效期", width = 15)
    @ApiModelProperty(value = "有效期")
    private String validDate;
	/**实收资本*/
	@Excel(name = "实收资本", width = 15)
    @ApiModelProperty(value = "实收资本")
    private String recBalance;
	/**有效期其实日期*/
	@Excel(name = "有效期其实日期", width = 15)
    @ApiModelProperty(value = "有效期其实日期")
    private String validSdate;
	/**核准日期*/
	@Excel(name = "核准日期", width = 15)
    @ApiModelProperty(value = "核准日期")
    private String checkDate;
	/**成立日期*/
	@Excel(name = "成立日期", width = 15)
    @ApiModelProperty(value = "成立日期")
    private String bornDate;
	/**税务登记号*/
	@Excel(name = "税务登记号", width = 15)
    @ApiModelProperty(value = "税务登记号")
    private String taxRegNu;
	/**地址*/
	@Excel(name = "地址", width = 15)
    @ApiModelProperty(value = "地址")
    private String addr;
	/**登记机关*/
	@Excel(name = "登记机关", width = 15)
    @ApiModelProperty(value = "登记机关")
    private String regOrg;
	/**类型*/
	@Excel(name = "类型", width = 15)
    @ApiModelProperty(value = "类型")
    private String companyType;
/**公司Logo*/
	@Excel(name = "公司Logo", width = 15)
    @ApiModelProperty(value = "公司Logo")
    private String companyLogo;

	/**证件编号*/
	@Excel(name = "证件编号", width = 15)
    @ApiModelProperty(value = "证件编号")
    private String idNo;


    /**版本号 */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "版本号")
    private Date version;
}
